﻿// 886. 求组合数 II.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


using namespace std;

/*
https://www.acwing.com/problem/content/888/
给定 n 组询问，每组询问给定两个整数 a，b，请你输出 Cbamod(109+7) 的值。

输入格式
第一行包含整数 n。

接下来 n 行，每行包含一组 a 和 b。

输出格式
共 n 行，每行输出一个询问的解。

数据范围
1≤n≤10000,
1≤b≤a≤105
输入样例：
3
3 1
5 3
2 2
输出样例：
3
10
1
*/

const int N = 100010;
const int MOD = 1000000000 + 7;
long long fact[N];
long long infact[N];

long long qmi(long long a, long long m, long long MOD) {
	long long ret = 1;
	while (m != 0) {
		if (m & 1) {
			ret *= a;  ret %= MOD;
		}
		m >>= 1;
		a *= a; a %= MOD;
	}

	return ret;
}

void init() {
	fact[0] = 1;
	infact[0] = 1;
	for (int i = 1; i < N; i++) {
		fact[i] = fact[i - 1] * i % MOD;;
		infact[i] = infact[i - 1] * qmi(i, MOD - 2, MOD) % MOD;
	}
}

void solve() {
	int a, b; cin >> a >> b;

	cout << fact[a] * infact[a - b]%MOD * infact[b] % MOD << endl;
}


int main()
{
	int t; cin >> t;
	init();
	while (t--) {
		solve();
	}

	return 0;
}

 